package com.sisbibvir.unmsm.entidades;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the profesor database table.
 * 
 */
@Entity
public class Profesor implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private int id;

	private String apellidoM;

	private String apellidoP;

	private String correo;

	private String direccion;

	private String dni;

	private String nombre;

	private String telefono;

	//bi-directional many-to-one association to DetalleProfesor
	@OneToMany(mappedBy="profesor")
	private List<DetalleProfesor> detalleProfesors;

	//bi-directional many-to-one association to Estudio
	@OneToMany(mappedBy="profesor")
	private List<Estudio> estudios;

	//bi-directional many-to-one association to DepartamentoAcademico
	@ManyToOne
	@JoinColumn(name="departamento_academico_id")
	private DepartamentoAcademico departamentoAcademico;

	//bi-directional many-to-one association to ProfesorHasTagsAsesor
	@OneToMany(mappedBy="profesor")
	private List<ProfesorHasTagsAsesor> profesorHasTagsAsesors;

	//bi-directional many-to-many association to LineaDeInvestigacion
	@ManyToMany(mappedBy="profesors")
	private List<LineaDeInvestigacion> lineaDeInvestigacions;

	//bi-directional many-to-many association to Usuario
	@ManyToMany(mappedBy="profesors")
	private List<Usuario> usuarios;

	public Profesor() {
	}

	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getApellidoM() {
		return this.apellidoM;
	}

	public void setApellidoM(String apellidoM) {
		this.apellidoM = apellidoM;
	}

	public String getApellidoP() {
		return this.apellidoP;
	}

	public void setApellidoP(String apellidoP) {
		this.apellidoP = apellidoP;
	}

	public String getCorreo() {
		return this.correo;
	}

	public void setCorreo(String correo) {
		this.correo = correo;
	}

	public String getDireccion() {
		return this.direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public String getDni() {
		return this.dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getTelefono() {
		return this.telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public List<DetalleProfesor> getDetalleProfesors() {
		return this.detalleProfesors;
	}

	public void setDetalleProfesors(List<DetalleProfesor> detalleProfesors) {
		this.detalleProfesors = detalleProfesors;
	}

	public List<Estudio> getEstudios() {
		return this.estudios;
	}

	public void setEstudios(List<Estudio> estudios) {
		this.estudios = estudios;
	}

	public DepartamentoAcademico getDepartamentoAcademico() {
		return this.departamentoAcademico;
	}

	public void setDepartamentoAcademico(DepartamentoAcademico departamentoAcademico) {
		this.departamentoAcademico = departamentoAcademico;
	}

	public List<ProfesorHasTagsAsesor> getProfesorHasTagsAsesors() {
		return this.profesorHasTagsAsesors;
	}

	public void setProfesorHasTagsAsesors(List<ProfesorHasTagsAsesor> profesorHasTagsAsesors) {
		this.profesorHasTagsAsesors = profesorHasTagsAsesors;
	}

	public List<LineaDeInvestigacion> getLineaDeInvestigacions() {
		return this.lineaDeInvestigacions;
	}

	public void setLineaDeInvestigacions(List<LineaDeInvestigacion> lineaDeInvestigacions) {
		this.lineaDeInvestigacions = lineaDeInvestigacions;
	}

	public List<Usuario> getUsuarios() {
		return this.usuarios;
	}

	public void setUsuarios(List<Usuario> usuarios) {
		this.usuarios = usuarios;
	}

}